eXplainable Artificial Intelligence (XAI)

Resumo

Aplicação de algumas técnicas de XAI de diferentes tipos/abordagens na classificação binária de doenças cardíacas (heart disase dataset, disponível em https://archive.ics.uci.edu/ml/datasets/heart+disease).

Neste notebooks são utilizados as seguintes técnicas:

Na primeira etapa é realizado um tratamento básico no dataset e depois é realizado o treinamento dos modelos de ML.
Em seguida é a parte de XAI.

Preparação dos dados e Modelagem

Resumo do que foi realizado:

Load Data

Attribute Information (abbreviature - description):

Ajustando alvo para uma Classificação Binária

A variável alvo (target) contém 4 valores, entretanto os estudos com essa base de dados estão concentrados em simplesmente distinguir a existência de doença (1,2 ou 3) da ausência (0).

Distribuição original

Conversão alvo

Distribuição do alvo ajustado

Tratamento de Missing values

Encoding variáveis categóricas

Utilização da técnica One Hot Encoder para realizar o encoding das variáveis categóricas. Por simplicidade e para ajustar os nomes das colunas com mais facilidade em um DataFrame, foi utilizado o método get_dummies do Pandas, mas o efeito é o mesmo da técnica mencionada.

Separação dos dados

Normalização dos dados

Modelagem

Random Forest

Neural Network

XAI

Feature Importance e Permutaion Importance - ELI5

Fornece a importância das features (feature importances) para qualquer modelo black-box. Acessa as informações de diferentes modelos, e garante o funcionamento da funcionalidade utilizando o método permutation importance para realizar modificações e verificar como muda o resultado. Disponível em https://github.com/TeamHG-Memex/eli5.

LIME (Local Interpretable Model-Agnostic Explanation)

Sorrogate model que atual localmente ao redor dos vizinhos de uma instância. O modelo linear é capaz de capturar o comportamento naquele local.

Anchor

Desenvolvido pelos mesmos criados do LIME, o algoritmo é uma extensão deste em que é utilizada Árvores de Decisão e são geradas "âncoras" das predições, que representam as características principais para alcançar determinada saída. Disponível em https://github.com/marcotcr/anchor.